<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
<!-- qaccessible.cpp -->
  <title>QAccessibleInterface Class | Qt GUI 5.14.2</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="../qtdoc/index.html">Qt 5.14</a></td><td ><a href="qtgui-index.html">Qt GUI</a></td><td ><a href="qtgui-module.html">C++ Classes</a></td><td >QAccessibleInterface</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right"><a href="qtgui-index.html">Qt 5.14.2 Reference Documentation</a></td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#protected-functions">Protected Functions</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
<li class="level2"><a href="#relationships-and-navigation">Relationships and Navigation</a></li>
<li class="level2"><a href="#properties">Properties</a></li>
<li class="level2"><a href="#interfaces">Interfaces</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">QAccessibleInterface Class</h1>
<!-- $$$QAccessibleInterface-brief -->
<p>The QAccessibleInterface class defines an interface that exposes information about accessible objects. <a href="#details">More...</a></p>
<!-- @@@QAccessibleInterface -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign">   <span class="preprocessor">#include &lt;QAccessibleInterface&gt;</span>
</td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += gui</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherited By:</td><td class="memItemRight bottomAlign"> <p><a href="qaccessibleobject.html">QAccessibleObject</a></p>
</td></tr></table></div><ul>
<li><a href="qaccessibleinterface-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="public-functions"></a>
<h2 id="public-functions">Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> QAccessibleActionInterface *</td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#actionInterface">actionInterface</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QColor </td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#backgroundColor">backgroundColor</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QAccessibleInterface *</td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#child">child</a></b>(int <i>index</i>) const = 0</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QAccessibleInterface *</td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#childAt">childAt</a></b>(int <i>x</i>, int <i>y</i>) const = 0</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual int </td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#childCount">childCount</a></b>() const = 0</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QAccessibleInterface *</td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#focusChild">focusChild</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QColor </td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#foregroundColor">foregroundColor</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual int </td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#indexOfChild">indexOfChild</a></b>(const QAccessibleInterface *<i>child</i>) const = 0</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual void *</td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#interface_cast">interface_cast</a></b>(QAccessible::InterfaceType <i>type</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual bool </td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#isValid">isValid</a></b>() const = 0</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QObject *</td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#object">object</a></b>() const = 0</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QAccessibleInterface *</td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#parent">parent</a></b>() const = 0</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QRect </td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#rect">rect</a></b>() const = 0</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QVector&lt;QPair&lt;QAccessibleInterface *, QAccessible::Relation&gt; &gt; </td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#relations">relations</a></b>(QAccessible::Relation <i>match</i> = QAccessible::AllRelations) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QAccessible::Role </td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#role">role</a></b>() const = 0</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#setText">setText</a></b>(QAccessible::Text <i>t</i>, const QString &amp;<i>text</i>) = 0</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QAccessible::State </td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#state">state</a></b>() const = 0</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QAccessibleTableCellInterface *</td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#tableCellInterface">tableCellInterface</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QAccessibleTableInterface *</td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#tableInterface">tableInterface</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QString </td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#text">text</a></b>(QAccessible::Text <i>t</i>) const = 0</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QAccessibleTextInterface *</td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#textInterface">textInterface</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QAccessibleValueInterface *</td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#valueInterface">valueInterface</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QWindow *</td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#window">window</a></b>() const</td></tr>
</table></div>
<a name="protected-functions"></a>
<h2 id="protected-functions">Protected Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> virtual </td><td class="memItemRight bottomAlign"><b><a href="qaccessibleinterface.html#dtor.QAccessibleInterface">~QAccessibleInterface</a></b>()</td></tr>
</table></div>
<a name="details"></a>
<!-- $$$QAccessibleInterface-description -->
<div class="descr">
<h2 id="details">Detailed Description</h2>
<p>This class is part of <a href="../qtdoc/accessible-qwidget.html">Accessibility for QWidget Applications</a>.</p>
<p>Accessibility tools (also called AT Clients), such as screen readers or braille displays, require high-level information about accessible objects in an application. Accessible objects provide specialized input and output methods, making it possible for users to use accessibility tools with enabled applications (AT Servers).</p>
<p>Every element that the user needs to interact with or react to is an accessible object, and should provide this information. These are mainly visual objects, such as widgets and widget elements, but can also be content, such as sounds.</p>
<p>The AT client uses three basic concepts to acquire information about any accessible object in an application:</p>
<ul>
<li><i>Properties</i> The client can read information about accessible objects. In some cases the client can also modify these properties; such as text in a line edit.</li>
<li><i>Actions</i> The client can invoke actions like pressing a button or .</li>
<li><i>Relationships and Navigation</i> The client can traverse from one accessible object to another, using the relationships between objects.</li>
</ul>
<p>The QAccessibleInterface defines the API for these three concepts.</p>
<a name="relationships-and-navigation"></a>
<h3 id="relationships-and-navigation">Relationships and Navigation</h3>
<p>The functions <a href="qaccessibleinterface.html#childCount">childCount</a>() and <a href="qaccessibleinterface.html#indexOfChild">indexOfChild</a>() return the number of children of an accessible object and the index a child object has in its parent. The <a href="qaccessibleinterface.html#childAt">childAt</a>() function returns a child QAccessibleInterface that is found at a position. The child does not have to be a direct child. This allows bypassing intermediate layers when the parent already knows the top-most child. <a href="qaccessibleinterface.html#childAt">childAt</a>() is used for hit testing (finding the object under the mouse).</p>
<p>The <a href="qaccessibleinterface.html#relations">relations</a>() function provides information about the relations an object has to other objects, and <a href="qaccessibleinterface.html#parent">parent</a>() and <a href="qaccessibleinterface.html#child">child</a>() allows traversing from one object to another object.</p>
<a name="properties"></a>
<h3 id="properties">Properties</h3>
<p>The central property of an accessible objects is what <a href="qaccessibleinterface.html#role">role</a>() it has. Different objects can have the same role, e.g&#x2e; both the &quot;Add line&quot; element in a scroll bar and the <code>OK</code> button in a dialog have the same role, &quot;button&quot;. The role implies what kind of interaction the user can perform with the user interface element.</p>
<p>An object's <a href="qaccessibleinterface.html#state">state</a>() property is a combination of different state flags and can describe both how the object's state differs from a &quot;normal&quot; state, e.g&#x2e; it might be unavailable, and also how it behaves, e.g&#x2e; it might be selectable.</p>
<p>The <a href="qaccessibleinterface.html#text">text</a>() property provides textual information about the object. An object usually has a name, but can provide extended information such as a description, help text, or information about any keyboard accelerators it provides. Some objects allow changing the <a href="qaccessibleinterface.html#text">text</a>() property through the <a href="qaccessibleinterface.html#setText">setText</a>() function, but this information is in most cases read-only.</p>
<p>The <a href="qaccessibleinterface.html#rect">rect</a>() property provides information about the geometry of an accessible object. This information is usually only available for visual objects.</p>
<a name="interfaces"></a>
<h3 id="interfaces">Interfaces</h3>
<p>To enable the user to interact with an accessible object the object must implement <a href="qaccessibleactioninterface.html">QAccessibleActionInterface</a> in addition to QAccessibleInterface. Objects that support selections can define actions to change the selection.</p>
<p>There are several other interfaces that should be implemented as required. <a href="qaccessibletextinterface.html">QAccessibleTextInterface</a> should be used for bigger texts edits such as document views. This interface should not be implemented for labels/single line edits.</p>
<p>For sliders, scrollbars and other numerical value selectors <a href="qaccessiblevalueinterface.html">QAccessibleValueInterface</a> should be implemented.</p>
<p>Lists, tables and trees should implement <a href="qaccessibletableinterface.html">QAccessibleTableInterface</a>.</p>
</div>
<p><b>See also </b><a href="qaccessible.html">QAccessible</a>, <a href="qaccessibleactioninterface.html">QAccessibleActionInterface</a>, <a href="qaccessibletextinterface.html">QAccessibleTextInterface</a>, <a href="qaccessiblevalueinterface.html">QAccessibleValueInterface</a>, and <a href="qaccessibletableinterface.html">QAccessibleTableInterface</a>.</p>
<!-- @@@QAccessibleInterface -->
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$~QAccessibleInterface[overload1]$$$~QAccessibleInterface -->
<h3 class="fn" id="dtor.QAccessibleInterface"><a name="dtor.QAccessibleInterface"></a><code>[virtual protected] </code>QAccessibleInterface::<span class="name">~QAccessibleInterface</span>()</h3>
<p>Destroys the <a href="qaccessibleinterface.html">QAccessibleInterface</a>.</p>
<!-- @@@~QAccessibleInterface -->
<!-- $$$actionInterface[overload1]$$$actionInterface -->
<h3 class="fn" id="actionInterface"><a name="actionInterface"></a><span class="type"><a href="qaccessibleactioninterface.html">QAccessibleActionInterface</a></span> *QAccessibleInterface::<span class="name">actionInterface</span>()</h3>
<!-- @@@actionInterface -->
<!-- $$$backgroundColor[overload1]$$$backgroundColor -->
<h3 class="fn" id="backgroundColor"><a name="backgroundColor"></a><code>[virtual] </code><span class="type"><a href="qcolor.html">QColor</a></span> QAccessibleInterface::<span class="name">backgroundColor</span>() const</h3>
<p>Returns the accessible's background color if applicable or an invalid <a href="qcolor.html">QColor</a>.</p>
<p><b>See also </b><a href="qaccessibleinterface.html#foregroundColor">foregroundColor</a>().</p>
<!-- @@@backgroundColor -->
<!-- $$$child[overload1]$$$childint -->
<h3 class="fn" id="child"><a name="child"></a><code>[pure virtual] </code><span class="type"><a href="qaccessibleinterface.html">QAccessibleInterface</a></span> *QAccessibleInterface::<span class="name">child</span>(<span class="type">int</span> <i>index</i>) const</h3>
<p>Returns the accessible child with index <i>index</i>. 0-based index. The number of children of an object can be checked with <a href="qaccessibleinterface.html#childCount">childCount</a>.</p>
<p>Returns <code>nullptr</code> when asking for an invalid child (e.g&#x2e; when the child became invalid in the meantime).</p>
<p><b>See also </b><a href="qaccessibleinterface.html#childCount">childCount</a>() and <a href="qaccessibleinterface.html#parent">parent</a>().</p>
<!-- @@@child -->
<!-- $$$childAt[overload1]$$$childAtintint -->
<h3 class="fn" id="childAt"><a name="childAt"></a><code>[pure virtual] </code><span class="type"><a href="qaccessibleinterface.html">QAccessibleInterface</a></span> *QAccessibleInterface::<span class="name">childAt</span>(<span class="type">int</span> <i>x</i>, <span class="type">int</span> <i>y</i>) const</h3>
<p>Returns the <a href="qaccessibleinterface.html">QAccessibleInterface</a> of a child that contains the screen coordinates (<i>x</i>, <i>y</i>). If there are no children at this position this function returns <code>nullptr</code>. The returned accessible must be a child, but not necessarily a direct child.</p>
<p>This function is only relyable for visible objects (invisible object might not be laid out correctly).</p>
<p>All visual objects provide this information.</p>
<p>A default implementation is provided for objects inheriting <a href="qaccessibleobject.html">QAccessibleObject</a>. This will iterate over all children. If the widget manages its children (e.g&#x2e; a table) it will be more efficient to write a specialized implementation.</p>
<p><b>See also </b><a href="qaccessibleinterface.html#rect">rect</a>().</p>
<!-- @@@childAt -->
<!-- $$$childCount[overload1]$$$childCount -->
<h3 class="fn" id="childCount"><a name="childCount"></a><code>[pure virtual] </code><span class="type">int</span> QAccessibleInterface::<span class="name">childCount</span>() const</h3>
<p>Returns the number of children that belong to this object. A child can provide accessibility information on its own (e.g&#x2e; a child widget), or be a sub-element of this accessible object.</p>
<p>All objects provide this information.</p>
<p><b>See also </b><a href="qaccessibleinterface.html#indexOfChild">indexOfChild</a>().</p>
<!-- @@@childCount -->
<!-- $$$focusChild[overload1]$$$focusChild -->
<h3 class="fn" id="focusChild"><a name="focusChild"></a><code>[virtual] </code><span class="type"><a href="qaccessibleinterface.html">QAccessibleInterface</a></span> *QAccessibleInterface::<span class="name">focusChild</span>() const</h3>
<p>Returns the object that has the keyboard focus.</p>
<p>The object returned can be any descendant, including itself.</p>
<!-- @@@focusChild -->
<!-- $$$foregroundColor[overload1]$$$foregroundColor -->
<h3 class="fn" id="foregroundColor"><a name="foregroundColor"></a><code>[virtual] </code><span class="type"><a href="qcolor.html">QColor</a></span> QAccessibleInterface::<span class="name">foregroundColor</span>() const</h3>
<p>Returns the accessible's foreground color if applicable or an invalid <a href="qcolor.html">QColor</a>.</p>
<p><b>See also </b><a href="qaccessibleinterface.html#backgroundColor">backgroundColor</a>().</p>
<!-- @@@foregroundColor -->
<!-- $$$indexOfChild[overload1]$$$indexOfChildconstQAccessibleInterface* -->
<h3 class="fn" id="indexOfChild"><a name="indexOfChild"></a><code>[pure virtual] </code><span class="type">int</span> QAccessibleInterface::<span class="name">indexOfChild</span>(const <span class="type"><a href="qaccessibleinterface.html">QAccessibleInterface</a></span> *<i>child</i>) const</h3>
<p>Returns the 0-based index of the object <i>child</i> in this object's children list, or -1 if <i>child</i> is not a child of this object.</p>
<p>All objects provide this information about their children.</p>
<p><b>See also </b><a href="qaccessibleinterface.html#childCount">childCount</a>().</p>
<!-- @@@indexOfChild -->
<!-- $$$interface_cast[overload1]$$$interface_castQAccessible::InterfaceType -->
<h3 class="fn" id="interface_cast"><a name="interface_cast"></a><code>[virtual] </code><span class="type">void</span> *QAccessibleInterface::<span class="name">interface_cast</span>(<span class="type"><a href="qaccessible.html#InterfaceType-enum">QAccessible::InterfaceType</a></span> <i>type</i>)</h3>
<p>Returns a specialized accessibility interface <i>type</i> from the generic <a href="qaccessibleinterface.html">QAccessibleInterface</a>.</p>
<p>This function must be reimplemented when providing more information about a widget or object through the specialized interfaces. For example a line edit should implement the <a href="qaccessibletextinterface.html">QAccessibleTextInterface</a>.</p>
<p>Qt's <a href="../qtwidgets/qlineedit.html">QLineEdit</a> for example has its accessibility support implemented in QAccessibleLineEdit.</p>
<pre class="cpp">

  <span class="type">void</span> <span class="operator">*</span><span class="type"><a href="../qtwidgets/qaccessiblelineedit.html">QAccessibleLineEdit</a></span><span class="operator">::</span>interface_cast(<span class="type"><a href="qaccessible.html">QAccessible</a></span><span class="operator">::</span>InterfaceType t)
  {
      <span class="keyword">if</span> (t <span class="operator">=</span><span class="operator">=</span> <span class="type"><a href="qaccessible.html">QAccessible</a></span><span class="operator">::</span>TextInterface)
          <span class="keyword">return</span> <span class="keyword">static_cast</span><span class="operator">&lt;</span><span class="type"><a href="qaccessibletextinterface.html">QAccessibleTextInterface</a></span><span class="operator">*</span><span class="operator">&gt;</span>(<span class="keyword">this</span>);
      <span class="keyword">return</span> <span class="type"><a href="../qtwidgets/qaccessiblewidget.html">QAccessibleWidget</a></span><span class="operator">::</span>interface_cast(t);
  }

</pre>
<p><b>See also </b><a href="qaccessible.html#InterfaceType-enum">QAccessible::InterfaceType</a>, <a href="qaccessibletextinterface.html">QAccessibleTextInterface</a>, <a href="qaccessiblevalueinterface.html">QAccessibleValueInterface</a>, <a href="qaccessibleactioninterface.html">QAccessibleActionInterface</a>, <a href="qaccessibletableinterface.html">QAccessibleTableInterface</a>, and <a href="qaccessibletablecellinterface.html">QAccessibleTableCellInterface</a>.</p>
<!-- @@@interface_cast -->
<!-- $$$isValid[overload1]$$$isValid -->
<h3 class="fn" id="isValid"><a name="isValid"></a><code>[pure virtual] </code><span class="type">bool</span> QAccessibleInterface::<span class="name">isValid</span>() const</h3>
<p>Returns <code>true</code> if all the data necessary to use this interface implementation is valid (e.g&#x2e; all pointers are non-null); otherwise returns <code>false</code>.</p>
<p><b>See also </b><a href="qaccessibleinterface.html#object">object</a>().</p>
<!-- @@@isValid -->
<!-- $$$object[overload1]$$$object -->
<h3 class="fn" id="object"><a name="object"></a><code>[pure virtual] </code><span class="type"><a href="../qtcore/qobject.html">QObject</a></span> *QAccessibleInterface::<span class="name">object</span>() const</h3>
<p>Returns a pointer to the <a href="../qtcore/qobject.html">QObject</a> this interface implementation provides information for.</p>
<p><b>See also </b><a href="qaccessibleinterface.html#isValid">isValid</a>().</p>
<!-- @@@object -->
<!-- $$$parent[overload1]$$$parent -->
<h3 class="fn" id="parent"><a name="parent"></a><code>[pure virtual] </code><span class="type"><a href="qaccessibleinterface.html">QAccessibleInterface</a></span> *QAccessibleInterface::<span class="name">parent</span>() const</h3>
<p>Returns the <a href="qaccessibleinterface.html">QAccessibleInterface</a> of the parent in the accessible object hierarchy.</p>
<p>Returns <code>nullptr</code> if no parent exists (e.g&#x2e; for the top level application object).</p>
<p><b>See also </b><a href="qaccessibleinterface.html#child">child</a>().</p>
<!-- @@@parent -->
<!-- $$$rect[overload1]$$$rect -->
<h3 class="fn" id="rect"><a name="rect"></a><code>[pure virtual] </code><span class="type"><a href="../qtcore/qrect.html">QRect</a></span> QAccessibleInterface::<span class="name">rect</span>() const</h3>
<p>Returns the geometry of the object. The geometry is in screen coordinates.</p>
<p>This function is only reliable for visible objects (invisible objects might not be laid out correctly).</p>
<p>All visual objects provide this information.</p>
<p><b>See also </b><a href="qaccessibleinterface.html#childAt">childAt</a>().</p>
<!-- @@@rect -->
<!-- $$$relations[overload1]$$$relationsQAccessible::Relation -->
<h3 class="fn" id="relations"><a name="relations"></a><code>[virtual] </code><span class="type"><a href="../qtcore/qvector.html">QVector</a></span>&lt;<span class="type"><a href="../qtcore/qpair.html">QPair</a></span>&lt;<span class="type"><a href="qaccessibleinterface.html">QAccessibleInterface</a></span> *, <span class="type"><a href="qaccessible.html#RelationFlag-enum">QAccessible::Relation</a></span>&gt; &gt; QAccessibleInterface::<span class="name">relations</span>(<span class="type"><a href="qaccessible.html#RelationFlag-enum">QAccessible::Relation</a></span> <i>match</i> = QAccessible::AllRelations) const</h3>
<p>Returns the meaningful relations to other widgets. Usually this will not return parent/child relations, unless they are handled in a specific way such as in tree views. It will typically return the labelled-by and label relations.</p>
<p>It is possible to filter the relations by using <i>match</i>. It should never return itself.</p>
<p><b>See also </b><a href="qaccessibleinterface.html#parent">parent</a>() and <a href="qaccessibleinterface.html#child">child</a>().</p>
<!-- @@@relations -->
<!-- $$$role[overload1]$$$role -->
<h3 class="fn" id="role"><a name="role"></a><code>[pure virtual] </code><span class="type"><a href="qaccessible.html#Role-enum">QAccessible::Role</a></span> QAccessibleInterface::<span class="name">role</span>() const</h3>
<p>Returns the role of the object. The role of an object is usually static.</p>
<p>All accessible objects have a role.</p>
<p><b>See also </b><a href="qaccessibleinterface.html#text">text</a>() and <a href="qaccessibleinterface.html#state">state</a>().</p>
<!-- @@@role -->
<!-- $$$setText[overload1]$$$setTextQAccessible::TextconstQString& -->
<h3 class="fn" id="setText"><a name="setText"></a><code>[pure virtual] </code><span class="type">void</span> QAccessibleInterface::<span class="name">setText</span>(<span class="type"><a href="qaccessible.html#Text-enum">QAccessible::Text</a></span> <i>t</i>, const <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &amp;<i>text</i>)</h3>
<p>Sets the text property <i>t</i> of the object to <i>text</i>.</p>
<p>Note that the text properties of most objects are read-only so calling this function might have no effect.</p>
<p><b>See also </b><a href="qaccessibleinterface.html#text">text</a>().</p>
<!-- @@@setText -->
<!-- $$$state[overload1]$$$state -->
<h3 class="fn" id="state"><a name="state"></a><code>[pure virtual] </code><span class="type"><a href="qaccessible-state.html">QAccessible::State</a></span> QAccessibleInterface::<span class="name">state</span>() const</h3>
<p>Returns the current state of the object. The returned value is a combination of the flags in the QAccessible::StateFlag enumeration.</p>
<p>All accessible objects have a state.</p>
<p><b>See also </b><a href="qaccessibleinterface.html#text">text</a>() and <a href="qaccessibleinterface.html#role">role</a>().</p>
<!-- @@@state -->
<!-- $$$tableCellInterface[overload1]$$$tableCellInterface -->
<h3 class="fn" id="tableCellInterface"><a name="tableCellInterface"></a><span class="type"><a href="qaccessibletablecellinterface.html">QAccessibleTableCellInterface</a></span> *QAccessibleInterface::<span class="name">tableCellInterface</span>()</h3>
<!-- @@@tableCellInterface -->
<!-- $$$tableInterface[overload1]$$$tableInterface -->
<h3 class="fn" id="tableInterface"><a name="tableInterface"></a><span class="type"><a href="qaccessibletableinterface.html">QAccessibleTableInterface</a></span> *QAccessibleInterface::<span class="name">tableInterface</span>()</h3>
<!-- @@@tableInterface -->
<!-- $$$text[overload1]$$$textQAccessible::Text -->
<h3 class="fn" id="text"><a name="text"></a><code>[pure virtual] </code><span class="type"><a href="../qtcore/qstring.html">QString</a></span> QAccessibleInterface::<span class="name">text</span>(<span class="type"><a href="qaccessible.html#Text-enum">QAccessible::Text</a></span> <i>t</i>) const</h3>
<p>Returns the value of the text property <i>t</i> of the object.</p>
<p>The <a href="qaccessible.html#Text-enum">QAccessible::Name</a> is a string used by clients to identify, find, or announce an accessible object for the user. All objects must have a name that is unique within their container. The name can be used differently by clients, so the name should both give a short description of the object and be unique.</p>
<p>An accessible object's <a href="qaccessible.html#Text-enum">QAccessible::Description</a> provides textual information about an object's visual appearance. The description is primarily used to provide greater context for vision-impaired users, but is also used for context searching or other applications. Not all objects have a description. An &quot;OK&quot; button would not need a description, but a tool button that shows a picture of a smiley would.</p>
<p>The <a href="qaccessible.html#Text-enum">QAccessible::Value</a> of an accessible object represents visual information contained by the object, e.g&#x2e; the text in a line edit. Usually, the value can be modified by the user. Not all objects have a value, e.g&#x2e; static text labels don't, and some objects have a state that already is the value, e.g&#x2e; toggle buttons.</p>
<p>The <a href="qaccessible.html#Text-enum">QAccessible::Help</a> text provides information about the function and usage of an accessible object. Not all objects provide this information.</p>
<p>The <a href="qaccessible.html#Text-enum">QAccessible::Accelerator</a> is a keyboard shortcut that activates the object's default action. A keyboard shortcut is the underlined character in the text of a menu, menu item or widget, and is either the character itself, or a combination of this character and a modifier key like Alt, Ctrl or Shift. Command controls like tool buttons also have shortcut keys and usually display them in their tooltip.</p>
<p>All objects provide a string for <a href="qaccessible.html#Text-enum">QAccessible::Name</a>.</p>
<p><b>See also </b><a href="qaccessibleinterface.html#setText">setText</a>(), <a href="qaccessibleinterface.html#role">role</a>(), and <a href="qaccessibleinterface.html#state">state</a>().</p>
<!-- @@@text -->
<!-- $$$textInterface[overload1]$$$textInterface -->
<h3 class="fn" id="textInterface"><a name="textInterface"></a><span class="type"><a href="qaccessibletextinterface.html">QAccessibleTextInterface</a></span> *QAccessibleInterface::<span class="name">textInterface</span>()</h3>
<!-- @@@textInterface -->
<!-- $$$valueInterface[overload1]$$$valueInterface -->
<h3 class="fn" id="valueInterface"><a name="valueInterface"></a><span class="type"><a href="qaccessiblevalueinterface.html">QAccessibleValueInterface</a></span> *QAccessibleInterface::<span class="name">valueInterface</span>()</h3>
<!-- @@@valueInterface -->
<!-- $$$window[overload1]$$$window -->
<h3 class="fn" id="window"><a name="window"></a><code>[virtual] </code><span class="type"><a href="qwindow.html">QWindow</a></span> *QAccessibleInterface::<span class="name">window</span>() const</h3>
<p>Returns the window associated with the underlying object. For instance, <a href="../qtwidgets/qaccessiblewidget.html">QAccessibleWidget</a> reimplements this and returns the windowHandle() of the <a href="../qtwidgets/qwidget.html">QWidget</a>.</p>
<p>It is used on some platforms to be able to notify the AT client about state changes. The backend will traverse up all ancestors until it finds a window. (This means that at least one interface among the ancestors should return a valid <a href="qwindow.html">QWindow</a> pointer).</p>
<p>The default implementation returns <code>nullptr</code>.</p>
<!-- @@@window -->
</div>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2020 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>
